package com.cman777.springc.redis.annotation;


import javax.validation.constraints.NotBlank;
import java.lang.annotation.*;

/**
 * @author chenzhicong
 * @time 2019/11/10 15:49
 * @description 修改缓存相关数据 加这个注解 把缓存删掉 下次进来就会更新缓存了
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Repeatable(value = RedisCacheDel.List.class)
public @interface RedisCacheDel {
    /**
     * key pattern的前缀
     * @return
     */
    @NotBlank
    String keyPatternPrefix();

    /**
     * 盐
     * spel表达式
     * @return
     */
    @NotBlank
    String salt();


    @Retention(RetentionPolicy.RUNTIME)
    @Target({ElementType.METHOD})
    @Documented
     @interface List {
        RedisCacheDel[] value();
    }
}
